const jwt = require("jsonwebtoken");
const config = require('config');

function auth(req,res,next){
    //读取header，获取令牌
    const token = req.header('x-auth-token');
    //没有令牌的情况
    if(!token){
        return res.status(401).send("访问被拒绝，未提供令牌！");
    }
    //有令牌但验证为非法的情况
    try{
        //如果这个令牌不合法，它会抛出异常
        const decoded = jwt.verify(token,"mySecureKey");//返回payload
        req.user = decoded;
        //将控制权转给下一个中间函数
        next();
    }
    catch(ex){
        res.status(400).send('不合法的令牌');
    }
}
module.exports = auth;